const express = require('express');
const bodyParser = require('body-parser');

const mysql = require("mysql");

const app = express();

app.use(express.static("www"));
app.use(bodyParser.urlenxoded({ extended: false }));

const mysqli = mysql.createConnection({
    host: "localhost", //ip
    user: "root", //用户名
    password: "root",//密码
    database: "lianxi"//要连接的数据库名称
})


// 判断数据库是否连接成功
mysqli.connect(function (err) {
    if (err) {
        console.log("连接数据库失败");
    }
})

app.post("/zhuce", (req, res) => {
    // 获取客户端传来的数据
    console.log(req.body); //{ username: 'aaa', password: '123' }
    //判断数据库的users表格中是否有这个用户
    //从数据库或者这个表格中的所有数据
    // 跟每一个数据进行判断与req.body中的用户是否有一样的
    var sql = "selecct * from users";
    mysqli.query(sql, function (err, data) {
        if (err) {
            res.json({ success: 0, data: "注册失败(sql查询语句失败)" })
        } else {
            // console.log(data); //是个数组 有用户是数组没有用户是空
            var isShow = true;
            for (let i = 0; i < data.length; i++) {
                if (req.body.username == data[i].username) {
                    isShow = false;

                }

            }
            if (isShow) {
                //表示上面的循环内的判断没有被执行过 即当前用户不存在
                var sql2 = `insert into users(username,password) values("${req.body.username}","${req.body.password}")`;
                mysql.query(sql2, function (err2) {
                    if (err) {
                        res.json({ success: 0, data: "注册失败(新增的sql语句执行失败)" })

                    } else {
                        res.json({ success: 1, data: "注册成功" })
                    }
                })
            } else {
                res.join({ syccess: 0, data: "当前用户已存在" })
            }
        }
    })

})
app.post("/login", function (req, res) {
    console.log("登录接收到的数据");
    console.log(req.body);
    // 判断当前用户是否存在
    // 用户存在在判断密码是否正确
    // 查询数据库users表格中是否有当前用户
    var sql = "select * from  users";
    mysqli.query(sql, function (err, data) {
        if (err) {
            res.join({ success: 0, data: "登录失败(sql查询语句失败)" })
        } else {
            // console.log(data); //是个数组 有用户是数组没有用户是空
            var isShow = true;
            var pass = null;
            for (let i = 0; i < data.length; i++) {
                if (req.body.username == data[i].username) {
                    isShow = false;
                    pass = data[i].password;
                }
            }
            if (isShow) {
                // 表示上面的循环内的判断没有被执行过 即当前用户不存在
                res.join({success:0, data:"当前用户不存在"})
            }else{
                if (require.body.password == pass) {
                    res.join({success:0,data:"登录成功"})
                }else{
                    res.join({succcess:0,data:"密码错误"})
                }
            }
        }
    })
})

app.listen(3000,function () {
    console.log('http://localhost:3000');
})





